Interactive Termination Proofs Using Termination Cores

نویسندگان

  • Panagiotis Manolios
  • Daron Vroon
چکیده

Recent advances in termination analysis have yielded new methods and tools that are highly automatic. However, when they fail, even experts have difficulty understanding why and determining how to proceed. In this paper, we address the issue of building termination analysis engines that are both highly automatic and easy to use in an interactive setting. We consider the problem in the context of ACL2, which has a first-order, functional programming language. We introduce the notion of a termination core, a simplification of the program under consideration which consists of a single loop that the termination engine cannot handle. We show how to extend the Size Change Termination (SCT) algorithm so that it generates termination cores when it fails to prove termination, with no increase to its complexity. We show how to integrate this into the Calling Context Graph (CCG) termination analysis, a powerful SCT-based automatic termination analysis that is part of the ACL2 Sedan. We also present several new, convenient ways of allowing users to interface with the CCG analysis, in order to guide it to a termination proof.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

AProVE: A System for Proving Termination

The system AProVE (Automated Program Verification Environment) can be used for automated termination and innermost termination proofs of (conditional) term rewrite systems (TRSs). AProVE currently offers the techniques of recursive path orders possibly with status [3] (Sect. 2), dependency pairs including recent refinements such as narrowing, rewriting, and instantiation of dependency pairs [1,...

متن کامل

Formalising Strong Normalisation Proofs of the Explicit Substitution Calculi in Alf

Explicit substitution calculi have become very fashionable in the last decade. The reason is that substitution calculi bridge theory and implementation and enable control over evaluation steps and strategies. Of the most important questions of explicit substitution calculi is that of the termination of the underlying calculus of substitution (without-reduction rule). For this reason, one nds wi...

متن کامل

Erasure for Termination Proofs

We introduce a technique to facilitate termination proofs for term rewriting systems. We especially focus on innermost termination. The main features of this technique lie in its simplicity and e ectiveness in practice. This work can be regarded as an application of the general notion termination through transformation to both termination and innermost termination proofs.

متن کامل

Modular Termination Proofs for Rewriting Using Dependency Pairs

Recently, Arts and Giesl developed the dependency pair approach which allows automated termination and innermost termination proofs for many term rewriting systems (TRSs) for which such proofs were not possible before. The motivation for this approach was that virtually all previous techniques for automated termination proofs of TRSs were based on simplification orderings. In practice, however,...

متن کامل

Proving Termination with AProVE

The system AProVE (Automated Program Verification Environment) offers a variety of techniques for automated (innermost) termination proofs of (possibly conditional) TRSs, logic programs, and first-order functional programs. Besides efficient implementations of classical simplification orders (Sect. 2), it offers the dependency pair technique [2,11] which allows the application of classical orde...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010